package com.web.config;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.ehcache.EhCachePlugin;
import com.jfinal.template.Engine;
import com.web.action.admin.AdminAction;
import com.web.remote.dao.Mot;
import com.web.remote.dao.Users;


public class Config extends JFinalConfig {

	// 配置常量
	public void configConstant(Constants me) {
		
		// 开启调试模式
		me.setDevMode(true);
		
		// 加载少量必要配置，随后可用PropKit.get(...)获取值
		// 本地数据库
		PropKit.use("MysqlConfig.txt");
		me.setDevMode(PropKit.getBoolean("devMode", false));
		me.setError404View("/jsp/error/404.jsp");
		me.setError500View("/jsp/error/500.jsp");
	}

	// 配置路由
	public void configRoute(Routes me) {

		me.add("/admin", AdminAction.class);
	}

	public void configEngine(Engine me) {

	}

	// 配置插件
	public void configPlugin(Plugins me) {
		
		// 配置C3p0数据库连接池插件
		DruidPlugin d1 = new DruidPlugin(PropKit.get("jdbcUrl1"), PropKit.get("user"), PropKit.get("password").trim());
		DruidPlugin d2 = new DruidPlugin(PropKit.get("jdbcUrl2"), PropKit.get("user"), PropKit.get("password").trim());

		me.add(d1);  
		me.add(d2);  
		
		ActiveRecordPlugin a1 = new ActiveRecordPlugin("mysql1", d1);  
		ActiveRecordPlugin a2 = new ActiveRecordPlugin("mysql2", d2);  
		
		me.add(a1); 
		me.add(a2); 
		
		a1.addMapping("Users", Users.class);
		a2.addMapping("Mot", Mot.class);

		// 配置EhCachePlugin缓存
		me.add(new EhCachePlugin());
	}

	// 配置全局拦截器
	public void configInterceptor(Interceptors me) {
		
	}

	// 配置处理器
	public void configHandler(Handlers me) {

	}

}
